<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>天气案例_监视属性_简写</title>
    <script type="text/javascript" src="../../vue.js/vue.js"></script>
  </head>

  <body>
    <div id="root">
      <h2>今天天气很{{info}}</h2>
      <button @click="changeWeather">切换天气</button>
    </div>

    <script type="text/javascript">
      Vue.config.productionTip = false;

      const vm = new Vue({
        el: "#root",
        data: {
          isHot: true,
        },
        computed: {
          info() {
            return this.isHot ? "炎热" : "凉爽";
          },
        },
        methods: {
          changeWeather() {
            this.isHot = !this.isHot;
          },
        },
        watch: {
          // #region正常写法
          // isHot:{
          // 	handler(newValue,oldValue){
          // 		console.log('isHot被修改了',newValue,oldValue)
          // 	}
          // },
          // #endregion

          // 简写
          isHot(newValue, oldValue) {
            console.log("isHot被修改了", newValue, oldValue);
          }
        }
      });

      // #region 正常写法
      // vm.$watch("isHot", {
      //   immediate: true,
      //   deep: true,
      //   handler(newValue, oldValue) {
      //     console.log("isHot被修改了", newValue, oldValue);
      //   },
      // });
      // #endregion

      // #region 简写
      // vm.$watch('isHot',(newValue,oldValue)=>{
      // 	console.log('isHot被修改了:',newValue,oldValue,this)
      // })
      // #endregion
    </script>
  </body>
</html>
